package 设计模式.观察者模式.普通实现方式;

import java.math.BigDecimal;

/**
 * 某只股票类 可以实时接收到某只股票的价格
 */
public class Stock {
    private BigDecimal price;

    private final Billboard billboard;
    private final Monitor monitor;
    Stock(Billboard billboard,Monitor monitor){
        this.billboard=billboard;
        this.monitor=monitor;
    }

    /**
     * 当股票价格发生变化时 会调用这个方法
     * @param price
     */
    public void setPrice(BigDecimal price){
        this.price=price;
        //同时需要更新到两台显示器
        billboard.display(price);
        monitor.print(price);
    }

}
